/*
 * rdpdr.h
 *
 *  Created on: Oct 12, 2011
 *      Author: welcome
 */

#ifndef RDPDR_H_
#define RDPDR_H_


#include <rdesktop.h>

#ifdef __cplusplus
extern "C" {
#endif

extern int get_device_index(RD_NTHANDLE handle);
extern void convert_to_unix_filename(char *filename);
extern void rdpdr_send_completion(uint32 device, uint32 id, uint32 status, uint32 result, uint8 * buffer,
			   uint32 length);
extern RD_BOOL rdpdr_init();
extern void rdpdr_add_fds(int *n, fd_set * rfds, fd_set * wfds, struct timeval *tv, RD_BOOL * timeout);
extern struct async_iorequest *rdpdr_remove_iorequest(struct async_iorequest *prev,
					       struct async_iorequest *iorq);
extern void rdpdr_check_fds(fd_set * rfds, fd_set * wfds, RD_BOOL timed_out);
extern RD_BOOL rdpdr_abort_io(uint32 fd, uint32 major, RD_NTSTATUS status);

#ifdef __cplusplus
}
#endif
#endif /* RDPDR_H_ */
